home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Caml Light 0.61 / Source / src / runtime / instruct.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-24  |  1.6 KB  |  138 lines  |  [TEXT/MPS ]

  1. /* The instruction set. */
  2.  
  3. /* One instruction per line only. */
  4.  
  5. enum instructions {
  6.   CONSTBYTE,
  7.   CONSTSHORT,
  8.   GETGLOBAL,
  9.   SETGLOBAL,
  10.   CUR,
  11.   SWITCH,
  12.   BRANCH,
  13.   BRANCHIF,
  14.   BRANCHIFNOT,
  15.   POPBRANCHIFNOT,
  16.   BRANCHIFNEQTAG,
  17.   BRANCHIFEQ,
  18.   BRANCHIFNEQ,
  19.   BRANCHIFLT,
  20.   BRANCHIFGT,
  21.   BRANCHIFLE,
  22.   BRANCHIFGE,
  23.   BRANCHINTERVAL,
  24.   C_CALL1,
  25.   C_CALL2,
  26.   C_CALL3,
  27.   C_CALL4,
  28.   C_CALL5,
  29.   C_CALLN,
  30.   MAKEBLOCK,
  31.   MAKEBLOCK1,
  32.   MAKEBLOCK2,
  33.   MAKEBLOCK3,
  34.   MAKEBLOCK4,
  35.   TAGOF,
  36.   ACCESS,
  37.   ACC0,
  38.   ACC1,
  39.   ACC2,
  40.   ACC3,
  41.   ACC4,
  42.   ACC5,
  43.   ATOM,
  44.   ATOM0,
  45.   ATOM1,
  46.   ATOM2,
  47.   ATOM3,
  48.   ATOM4,
  49.   ATOM5,
  50.   ATOM6,
  51.   ATOM7,
  52.   ATOM8,
  53.   ATOM9,
  54.   GETFIELD,
  55.   GETFIELD0,
  56.   GETFIELD1,
  57.   GETFIELD2,
  58.   GETFIELD3,
  59.   SETFIELD,
  60.   SETFIELD0,
  61.   SETFIELD1,
  62.   SETFIELD2,
  63.   SETFIELD3,
  64.   STOP,
  65.   CHECK_SIGNALS,
  66.   APPLY,
  67.   RETURN,
  68.   APPTERM,
  69.   GRAB,
  70.   LET,
  71.   LETREC1,
  72.   DUMMY,
  73.   UPDATE,
  74.   ENDLET,
  75.   ENDLET1,
  76.   PUSHTRAP,
  77.   RAISE,
  78.   POPTRAP,
  79.   PUSH,
  80.   POP,
  81.   PUSHMARK,
  82.   PUSH_GETGLOBAL_APPLY,
  83.   PUSH_GETGLOBAL_APPTERM,
  84.   BOOLNOT,
  85.   NEGINT,
  86.   SUCCINT,
  87.   PREDINT,
  88.   ADDINT,
  89.   SUBINT,
  90.   MULINT,
  91.   DIVINT,
  92.   MODINT,
  93.   ANDINT,
  94.   ORINT,
  95.   XORINT,
  96.   SHIFTLEFTINT,
  97.   SHIFTRIGHTINTSIGNED,
  98.   SHIFTRIGHTINTUNSIGNED,
  99.   EQ,
  100.   NEQ,
  101.   LTINT,
  102.   GTINT,
  103.   LEINT,
  104.   GEINT,
  105.   INCR,
  106.   DECR,
  107.   FLOATOP,
  108.   INTOFFLOAT,
  109.   EQFLOAT,
  110.   NEQFLOAT,
  111.   LTFLOAT,
  112.   GTFLOAT,
  113.   LEFLOAT,
  114.   GEFLOAT,
  115.   STRINGLENGTH,
  116.   GETSTRINGCHAR,
  117.   SETSTRINGCHAR,
  118.   EQSTRING,
  119.   NEQSTRING,
  120.   LTSTRING,
  121.   GTSTRING,
  122.   LESTRING,
  123.   GESTRING,
  124.   MAKEVECTOR,
  125.   VECTLENGTH,
  126.   GETVECTITEM,
  127.   SETVECTITEM
  128. };
  129.  
  130. enum float_instructions {
  131.   FLOATOFINT,
  132.   NEGFLOAT,
  133.   ADDFLOAT,
  134.   SUBFLOAT,
  135.   MULFLOAT,
  136.   DIVFLOAT
  137. };
  138.